There are plenty of CMSes—with cart addons—that could handle this, I'm sure, like Drupal. And then there are CMSes specifically for ecommence, like osCommerce. I just mentioned ExpressionEngine because of the clean code it outputs.
But yes, with any of these options, the client should be able to add content independently of the developer. That's one of the main purposes of a CMS.