From a Windows command line, to pass a filename with spaces to an application, you need to put quotes around the filename. This is the way that Windows defines the command-line interface, and not something specific to Notepad++
update: sorry, that was an abbreviated response. Real life interrupted, so I posted what I had so far, at the time. continuing where I left off:
So, from the command line, notepad++.exe word1 word2.txt would try to open word1 and word2.txt in the current directory, which presumably don’t exist, whereas notepad++.exe "word1 word2.txt" would properly try to open the file with spaces in the name.
If you are using the right-click context menu in Explorer, the normal Edit with Notepad++ (which gets added via NppShell.dll, when you do a normal Notepad++ installation), then it should handle the spaces just fine. But if you created your own Notepad++ entry using regedit or a registry .reg file, you have to make sure that your entry says, "c:\Program Files\Notepad++\notepad++.exe" "%1", with the quotes around each, otherwise it will behave as you described.
Again, requiring the quotes around the filename is just the way Windows OS has defined the command-line interface (but similar is true in other operating systems, as well, because any OS must be able to tell the difference between program file1 file2.txt trying to work on two different files and program "word1 word2.txt" trying to work on one file with a space in the name.)