The join table is what maps the many to many association. It's what allows Hibernate to know that some attachment is linked to some process. So, if you don't want an attachment to be referenced in the join table, that means that you don't want the attachment linked to any process anymore. So the answer is simple: find all the processes having the attachment in their collection, and remove the attachment from their collection:
process.getPolicyAttachments().remove(theAttachment);
Side note: your naming is awful. Prepending an underscore to fields is not a standard convention, and will force you to add this leading underscore in all your queries. And what you have there are not DAOs, but entities. DAOs are the objects used to query and update the databases. Entities are the persistent objects returned by the DAOs. And you should not merge and flush each time you change the attachments of a process. Merging is rarely necessary, and flushing almost never, and this shouldn't be done by an entity anyway, which shouldn't access the EM at all.