Yes, Nasm supports 8086. You don't need any special directive to specify architecture... but you might *want* one. For example...
shl al, 4
That's a perfectly good instruction - introduced on the 80186, but not available on 8086. Nasm will assemble it without complaint. But if you use "cpu 8086" (*before* the instruction!), Nasm will complain "no instruction for this cpu level"...
cpu 8086
...
;shl al, 4 ; <- error - not for 8086!
mov cl, 4
shl al, cl ; okay for 8086
So in order to avoid using some instruction that Nasm will assemble, but which will cause an 8086 to crash, you probably want to use it.
Either that, or get your college to upgrade their computer lab! :)
If your course is using some assembler other than Nasm, you probably want to use that assembler, too. There are subtle differences in syntax that might be confusing. But Nasm will *work* fine for your purposes.
Best,
Frank