The Nano has an onboard USB adapter and doesn't need an external USB adapter.
Assuming you have one Arduino with working USB, you can use that to program any other Arduino that has the ICSP pins accessible. That avoids needing USB or the bootloader on the target Arduino.
Could you please explain a little. I don't understand the ICSP pins. Also, If you were to use the mini, could you do it that way? I have a Mega 2560 and would like to get a bunch of minis to use but need easy programming. Much Apreciated