well that is food aggression its common... my dog is a golden he is very friendly but with food or a bone he will fight a dog hes never snapped at me but he does grawl when i take his bones away. i do it if another dog is coming over or if hes been eating it for to long because he wont stop chewing till he gets sick but i learned it is verryy important to let him no its not ok.. if a child was playing with him and grabbed it, it would not be good. what i do is if its with another dog he goes after i take it away i yell at him he knos what no means i am always watching him when dogs are around.. he is very socialland loves to play its just with food he has a problem... my dog is sensitive and when i yelll at him he immedietly rolls on his back or starts licking my hand... be carful but dont let him get away with it.
The bigger question, is why did it start? You might want to have his eyes checked. Maybe he isn't seeing as well, and th at is causing a problem. Most dogs just don't start a bad behavior.
The training, would consist of teaching drop it, and leave it. Start with something small, tell him drop it, and give him a treat so he does. Tell him good drop it, and continue from there. That way you are asking him to give up the item, instead of "stealing" it from him.