Sort of. They tie a couple of times.
The first time is their first meeting, in which the battle ends before it can be resolved, although Goku later reveals that he could have defeated Buu then if he had not wished to give his sons a chance to defend the planet on their own.
The second, more legitimate stalemate occurs in the final episodes of Dragonball Z. Buu's reincarnation Uub appears to stalemate with Goku before Goku abruptly ends the match by offering to train him. Since Uub is assumed to be at least as strong as Kid Buu, if unpolished by comparison, it remains unknown who would have won if the fight had continued.
As it stands, the only major characters past or present to actually defeat Goku in battle are Jackie Chun (Master Roshi), Tienshenhan, King Piccolo, Raditz, Captain Ginyu (temporarily, as the battle was postponed), Perfect Cell, and Baby.
The only characters to actually kill Goku in battle are Raditz and Baby, although he was killed by a heart virus in an alternate future.
This all excludes his "death" by absorption while fused with Vegeta as Vegito, which would mark the one and only time he is actually defeated by Majin Buu, although this is debatable as it was Vegito's intent to be absorbed in the first place.