Is arduino fast enough to handle brushless motors commutation?!

Yes, shouldn't be a problem. You will however, I think, need to up the PWM frequency to higher than the commutation speed to get reasonable behaviour. The default timer settings are about 1000Hz on timer0, 500Hz on timers 1 and 2. Each timer controls two PWM pins - timer0 also maintains the millis() clock. Timers have a prescaler that divides the system clock. This can be set to divide by one, giving a maximum PWM frequency in 8 bit fast mode of 62.5kHz - plenty I think.

If you want to use all 6 pwm pins then that means you may have to give up on millis() being at all accurate - and learn how to directly set the timer prescaler settings.

[ If you want less delay in the system you can use direct access rather than digitalRead() and analagWrite() - at the expense of clarity. It is possible to read a digital pin or set a PWM output value in a couple of cycles.... I think that digitalRead and analogWrite are probably fast enough ]