@mcc Agreed, though this is a mess of a situation.
The developer should have had a contract with the PM and gone after the PM for lost fees, unless and more appropriately, the developer should have had a contract directly with the client.
IMO the PM is the one at fault, unless the client received the invoices and did not pay.
Technically, and apparently legally, after the engagement is over (per the contract and outstanding invoices) the developer should not have touched the site. But IANAL.