Vim spellcheck not always working in .tex file. Check region in Vim

syntax/tex.vim already uses quite elaborate sync patterns to ensure that the syntax highlighting is accurate, but for long and complex documents, this may still fail.

Best you can do is trying to increase both values of

syn sync maxlines=200
syn sync minlines=50

(e.g. to 2000 and 500). Put this in ~/.vim/after/syntax/tex.vim to override the defaults.

syntax sync fromstart

might give the best results, but may be too slow. You'll find a description of syntax syncing at :help :syn-sync.

Spell checking is not done where no syntax group are defined (or found by vim). I find it useful to enable spell checking even for the undefined group (see toplevel in vim's syntax documentation).

To do so, write the command:

syntax spell toplevel

in the file ~/.vim/after/syntax/tex.vim. Make the file if it does not exist.