Yes, neither Nginx nor Neovim should be hitting the disk when serving the requests.
One difference I can imagine is context switching due to system calls. If Nginx incurs a context switch when it calls into the kernel for the disk cache, then it suffers a performance penalty. Neovim avoids this because the file contents are loaded into a table. When requests are served, getting the content is done fully in userspace.
I have no idea if this actually accounts for the performance difference though.