eCart can do a lot of it, but if you are allowing the purchase of both single and recurring billing items at the same time, you would have to update some of the checkout code by hand... so the answer is that eCart can handle it, but probably not without some hand coding and knowledge of what you need to do, since it won't do it for you by default.
Certainly it would be quicker and easier to do this with eCart than to do it entirely manually, but I don't want to imply that it is as simple as checking a box and it is done either.
You would probably have to add functionality to allow someone to cancel, account for the scenario when cards are declined after the initial sign up, and other things which again would not be automatic, but could be done.