To compile a program using OpenACC directives, you need to use an OpenACC compiler - currently that means Cray, PGI or CAPS.
Parts of the CUDA Toolkit are used by the OpenACC compilers, depending on the implementation they can use various components such as ptxas
to assemble PTX to the machine code. The Toolkit also includes libraries such as cuBLAS/cuFFT/cuSPARSE etc. which can interoperate with OpenACC so that you can use both libraries and OpenACC in the same app - you can also interoperate with CUDA C/C++.
nvcc
itself is not an OpenACC compiler.