Yes, a middle class man can afford a BMW but it is not financially wise. A middle class man has other priorities than owing a luxury car. BMW has a high cost of maintenance which will be too much for a middle class man.
A middle class man can buy a used BMW as most BMW resell at 50 - 70% less than the original price.
If you plan to buy a new BMW and it is not convenient at the moment, you can make good investments and you would be able to purchase a BMW in the nearest future.