I had this annoying problem the other day with iMessage. It insisted I had unread messages and had a badge count of 1 on the icon in the Dock.
I fixed it by opening a terminal and …
quit iMessage killall Dock
I found the follow forum post and it lists some additional solutions that may help.
I hope this helps.