You can do this in SFDC. On the account, create a roll-up summary field. You can summarize the count of open opportunities. We call ours "# of open opportunities"
Then in Marketo, filter for # of open opportunities is less than 1.
This way, it won't matter if the contact has a role on the opportunity itself.