Yes, it is possible. You can look at the following example to know how to do it: https://github.com/jpmorganchase/quorum-examples/tree/master/examples/7nodes
In this example, the smart contract is made private only between node1 to node7.
To make it private the script file author used public key passed by private key."sending of a private transaction
to generate a (private) smart contract (SimpleStorage) sent from node 1 "for" node 7 (denoted by the public key
passed via privateFor: ["ROAZBWtSacxXQrOe3FGAqJDyJjFePR5ce4TSIzmJ0Bc="] in the sendTransaction call)."
The keys are already generated for the nodes. There are dummy public keys assigned to each node and it can be found
in the \quorum-examples\examples\7nodes\keys location.