First off, neither an Arduino's GPIO pins (as Kurt E. Clothier has pointed out), nor more relevantly the voltage regulators on board any standard Arduino board, can supply the amount of current required to operate 42 LEDs simultaneously:
42 x 20 = 840 mA
is well beyond the typical 500 mA polyfuse on the Arduino's vUSB power rail. You would not actually come up against the microcontroller's own current limitations, since the LEDs are most likely not going to be driven directly by the GPIO pins, but by the shift registers mentioned in the question.
While the regulator on the board may be rated for 1 Ampere or more on some Arduino clone boards (the Ruggeduino comes to mind), drawing that much current will cause the regulator to overheat, and either shut down due to thermal protection, or get damaged.
On the other hand, given the bill of materials in the question, it seems a safe assumption that no more than one row of 7 LEDs is to be lit at a given time, in a multiplexed matrix arrangement. 7 x 20 = 140 mA
is well within the capabilities of the typical Arduino board's regulator.
Consider replacing the 74HC595 shift registers with the Texas Instruments TPIC6A595 shift registers, which support 350 mA per output pin, and thus eliminate the need for the drive transistors. There are other slightly lower specification and lower cost shift registers as well, with high current rating and low output resistance, including the TPIC6C595 (100 mA per channel), if price is a factor.
The reason for this suggestion is not just cost saving on the (inexpensive) drive transistors, but the reduction of design complexity, and elimination of possible errors in wiring up that many additional components.