Yes there should be a \ after “Soc.” Proofreading the typeset output might have caught this error. :-)
The “\null” after “NASA” is to show an example where the heuristic fails in the other direction: the “.” after the uppercase letter won't be considered to end the sentence, so you need to either type `\hbox{NASA}.` or `NASA\null.` (where `\null` is an abbreviation for `\hbox{}` i.e. an empty box) or something like that — something so that the period doesn't immediately follow an uppercase letter.
While \relax is indeed a no-op “command”, that is precisely why it doesn't affect anything here. The way TeX works is that (roughly speaking), after expanding macros and acting on other commands (primitives) it encounters, it treats every character it encounters as another member of the current horizontal list (paragraph). Then it breaks this list into lines, etc. Whether you insert \relax or not, the horizontal list is the same: the uppercase A will be followed by the period. So you need something like \hbox{} or (equivalently) \null (something that actually gets into the horizontal list) between the “A” and the “.”.