Not just possible, but necessary. The term 'must have' implies speculation. They know what the date is (so no speculation about that) so all that can go into the blank is some statement about the consequence of it being past its best-by-date.It would also be possible to say 'It must have gone off by now
That doesn't work this side of the pond. Expiry applies primarily to documents rather than food. A passport or a bank card have expiry dates. Packaged foods have sell by and use by dates.La fecha de caducidad de un producto alimenticio se llama, en inglés, the expiration date. Habría que decir ...it must have expired by now.