Is there any plugin for emacs to automatically update the TAGS file in my C project (for example on buffer save or access) or create a new one if there is no TAGS file present?
etags-update may help in your case. I didn't test it, but according to the readme:
etags-update.el is a Emacs global minor mode that updates your TAGS when saving a file.
I found it on the Emacswiki page for building TAGS files