Depending on how your Apache/PHP setup is arrnaged, it will be PHP code that is taking the CPU time not Apache itself (if you run via modPHP then PHP's CPU use is counted in Apache's, if you ust CGI/FastCGI PHP process should be listed seperately in top
's output).
I know nothing of Magento (their support routes would be a better place to ask for help specific to their scripts) is it possible there is some misconfiguration that is causing it to try do far too much work - double check the documentation to see if it has any hints about optimising CPU use.
It could be that it is running a once-every-now-and-again task that precumputes a pile of stuff which it then caches for later use, in which case the problem may not be present in later requests.
It could also be that your VPS is overloaded CPU-wise, so what would take a second or less given dedicated access to a CPu core could be taking 10 because your VPS is fighting with others for use of the CPU. I've seen many VMs crammed onto one dual core machine whcih is fine when most of the VMs are relatively CPU-idle (which is common with web/sql machines, as they spend most of their time waiting for network or disk I/O rather than doing busy work with the CPU, but far from always the case).
Have you tried comparing the performance on a copy of the install running a VM on one of your own machines? If it performs well there than it woudl indicate something is underspecified with your VPS, if it is slow on your (presumably otherwise unloaded) local VM then the problem is more likey to be fuond in the scripts or their configuration. You could also try run a simple CPU benchmark to see if the VM is "CPU-slow" - I suggest a single process single threaded test as it looks like what-ever is keeping Apache busy is one process/thread (overall vCPU use being a 10-20% depending what you count while that Apache process is listed at ~80% inplied it is using one virtual CPU and the rest are more-or-less idle).