NFV or Network Functions Virtualization is an architecture concept which uses virtualization related technologies to virtualize entire classes of network node functions into building blocks that may be connected, or chained, together to create communication services.
The NFV Architecture consists of three main components:
VNC or Virtualized Network Functions, a software implementations of network functions that can be deployed on a Network Function Virtualization Infrastructure (NFVI).
NFV Infrastructure (NFVI) is the totality of all hardware and software components which build up the environment in which VNFs are deployed. The NFV-Infrastructure can span across several locations. The network providing connectivity between these locations is regarded to be part of the NFV-Infrastructure.
Network Functions Virtualization Management and Orchestration Architectural Framework (NFV-MANO Architectural Framework) is the collection of all functional blocks, data repositories used by these functional blocks, and reference points and interfaces through which these functional blocks exchange information for the purpose of managing and orchestrating NFVI and VNFs.
Now coming to your query on difference I can only say VNC is a subset of NFV :)
Credit: http://en.wikipedia.org/wiki/Network_Functions_Virtualization