The best approach is to create a NuGet dependency on the referenced project.
Suppose you have two projects in your solution:
Solution
| ProjectA
| ProjectB
ProjectA has a reference to ProjectB and both of them are NuGet packages (both have nuspec files). If you want to create a package ProjectA that depends on ProjectB, execute in the root of ProjectA:
NuGet Pack -IncludeReferencedProjects
In the presence of IncludeReferencedProjects, NuGet will traverse the referenced projects inside the solution, looking for nuspec files (that indicates that a project is a package). If a nuspec if found, it is added as a dependency.
In this example, it will find a nuspec file in ProjectB, and add it as a dependency. When you install ProjectA, ProjectB will also be installed and it will be added as reference.