CiviCRM extension to support moving a contribution from one contact to another. This can be done through the contact's contribution tab or through a Find Contributions search result action.
As of v2.2 there is an "allow Move Contribution" permission that determines if the option is made available in the various contexts. Note, the user must also have the edit contributions permission in order to use this tool.