I think the heart is Katherine’s because there is no real indication that it is any one else’s. I also think it’s Katherine’s because of the parallels between Katherine and Gram. They were both Regina’s pets who decided to ignore her wishes and chose their own paths. Katherine’s purpose in Storybrook was to keep David away from Mary Margaret. Katherine is no longer standing between David and Mary Margaret, so Regina needs to get rid of her. So Regina kills her heart. What better use of the heart then than to frame someone for the gruesome murder?
The whole purpose of Storybrook is to ruin Snow’s happiness, so David and Mary Margaret have to be kept apart. David is already incriminated by being Katherine’s “husband” and by his wanderings in the woods, but why not add Mary Margaret’s fingerprints to the box for the heart and insure that the two will never be able to live happily together in Storybrook again?