There are many sets of potential fixes listed above, but the simplest and most effective is this one:
That is, part of the information that Sublime stores about open files when it quits (or when you close a project) is the syntax definition that was in use for any open files so that when state is restored on a load it can put it back.
If the syntax file has been renamed, moved or deleted it can’t restore the syntax properly because it’s trying to load a file that’s not present. In such a case it displays the message to tell you about it. What you need to do is get Sublime to either associate the correct syntax with the file (if it has moved or changed) or tell it to use the plain text one (if it has been removed).
Various ways to do that include removing the entire session (which wipes out your entire saved session for the entire application), machinations that involve changing packages from outside of Sublime in an attempt to put the correct file back or just closing and reopening the offending file so that Sublime tries to find the appropriate syntax (falling back to plain text if it is not found).