The constellation Product → offers → Offer fulfils the standard. But how is it to understand under real life circumstances? Can a product offer itself for sell?
You can simply do the markup both ways:
a) from an offer to the products it includes or
b) from a product to offers including it.
This is independent of the question WHO is making the offer, for which there is http://schema.org/offeredBy or http://schema.org/makesOffer.