Its definitely possible with OPA. Its probably easiest to do this with an Integration Object Mapping.
If you use an Integration mapping and include both Integration Components in your Integration Object, then when the XML for the IO is produced it will have the each component which is a member of the the M:M relationship appear multiple times in the XML, to indicate the multiple "parents" for each "child.
When you use this IO to map to OPA you can specify the relationship with user properties in the Integration Object. On the target/child component add the following user properties:
OPARelationship - the public name of the many-to-many relationship in OPA
OPAParent - the public name of the OPA entity on the source/parent end of the relationship
And that should work