I find it useful to work through the sort of problem with a smaller example:
nbox = 4;
nball = 5;
generate all ball-to-box binnings:
boxassign = Tuples[Range[nbox], {nball}];
boxassign[[;; 10]] // MatrixForm

the formula for the total count is pretty obvious i think:
(boxassign // Length ) == nbox^nball
True
Now transpose that to a list of the balls in each box:
(I'm sure there are more efficient ways to do this, but this is clearly readable)
ballinbox =
Function[box, Sort@Flatten@Position[#, box]] /@ Range[nbox] & /@ boxassign;
ballinbox[[1 ;; 10]] // MatrixForm

Now select the cases where there are three balls in box two for example:
nintwo = 3;
( byintwo = Select[ ballinbox , Length[#[[2]]] == nintwo & ] ) // MatrixForm

you can inspect the unique sets in box two and observe that it is all the possible subsets:
Union@(byintwo[[ ;; , 2]])
Length[%] == nball! / nintwo! / (nball - nintwo)!
True
Now the total count is just that number multiplied be all the ways we can distribute the remaining balls:
Length[byintwo] ==
( nball! / nintwo! / (nball - nintwo)! ) (nbox - 1)^(nball - nintwo)
True
so that for the example:
Clear[nball,nintwo,nbox]; (* oops!! *)
( nball! / nintwo! / (nball - nintwo)! ) (nbox - 1)^(nball - nintwo) /.
{nball -> 60, nintwo -> 6, nbox -> 8}
216181483166095764640743948702606019893283529061497140
60!/54! 54^7
.. mathematica will crunch the numbers but you need to work out the math on your own. (this problem is far to large for direct simulation) $\endgroup$