Haskell, 3230 bytes
2 bytes saved thanks to H.PWiz's idea which was borrowed from flawr's answer
n!a=[a]==[x|x<a=[1]==[1|0<-[n..a],mod a x<1]a<$>[n..a]] Ok since its been a while, and the only Haskell answer so far is 45 btyes, I decided to post my own answer.
Explanation
This function checks that the only number between n and a that a is divisible by is a itself.
Now the definition only mentions n-primes smaller than a, so why are we checking all these extra numbers? Won't we have problems when a is divisible by some n-composite larger than n?
We won't because if there is an n-composite larger than n it must be divisible by a smaller n-prime by definition. Thus if it divides a so must the smaller n-prime.
If a is smaller than n [n..a] will be [] thus cannot equal [a][1] causing the check to fail.