First let me say nice game.
I believe the game turned on the 30th move and then the big blunder on move 32. As up until this point I give black the advantage. Although I think the game went back and fourth...materially speaking it remained even. So looking at the position I gave black a slight advantage at this point. Then he makes a mistake (not blunder) taking the pawn on e4 (?!). When of course the very obvious move is Nh3+!
Possible continuation is:
30...Nh3+
31.Bxh3 Qxh4
32. Kg2 Bxc3
And Black is fine with a pawn advantage, more kingside pressure on white and better king safty. So really it was an aweful blunder in a very dynamic position which is why you were able to turn the tables so quickly.
However let us consider your sacrifice. Does it really give you a winning game by force?
No I don't believe so.
...Kxg6 (best)
Nxe4 fxe4 (?) A Blunder. He already had the material, no need to get greedy about things and it is obvious that it will make your bishop a powerful piece. Also the f pawn is a very important defender.
Simple Qh3 will win the pawn on c3 and keep the bishop from getting into the attack and black is still winning.
I'm curious what the time was as these moves I'm suggesting seem rather obvious. Was this a blitz game?
The following game is a neat example of how I turned a passive position to a hopeless position for my opponent. My opponent played well, but should of expected a strong counter attack to his plan. At the bitter end, after the knight sacrifice on g6, black could not move his king to f7 because the bishop would check on g6 and pick off the black queen. After c4, black cannot prevent the threat of Bb2+ or extreme material loss.