Using Vim 8.0.979, escaping with backslashes or single quotes does not work, i.e., the following commands fail:
:terminal ls dir\ with\ spaces
:terminal ls 'dir with spaces'
Double-quoted arguments seem to cause the text between and after the quotes to be ignored, e.g.:
:terminal cat "a b.txt" cd.txt
is the same as :terminal cat. I had not luck with shellescape()/fnamescape() either.