You're right, Sara, "has opportunity" is a filter determined by contacts who are attached directly to an opportunity within the CRM. It relies on your salespeople to attach the contacts to the opportunity unless you have workflows set up to do this automatically.
Yep - Sara - this is what you're concerned about. If your sales team uses "Contact Roles" on Opportunities then everything will work fine with those specific contacts. However anyone they DON'T attach to that opportunity will be eligible for this email.