Are you absolutely sure you were not charged? Did you get the money order from the same place you cashed your check, or somewhere else? In any case I suggest you do the honest thing and call the place you got the money order from and pay for it. It was a mistake made in your favor, yes, but someone probably got in trouble for that, and your honesty might even save their job. You never know. I just suggest you do the morally correct thing.
As much as you were not charged for the money order, you have no rights to retain it. There might have been some mistakes in giving you the money order but they do have records and once bookkeeping is done, some of the errors may be noticed. Therefore, you may want to contact the place and make the payments.