Even though generally, I would agree with MBaz, I read an interesting blog post by Rick Lyons the other day that applies directly to this question. It is in fact possible to do what you want as long as you are willing to increase the number of coefficients of your filter significantly (i.e., the memory requirement is much larger) and to dynamically alter the coefficients of your filter while processing (i.e., the trickiness of implementation is larger and no out-of-the-box software packages for this).
To summarize the idea in my own words. You basically want to demodulate your tap delay line while filtering. To accomplish this, you can use multiple coefficient sets, each based on the same prototype filter but with a different modulation applied. Then after each output sample computation you rotate the coefficients that you are using. In doing this, the downconversion to baseband occurs while filtering out the high frequency components.
The one constraint noted in the blog post is that the ratio of the sampling frequency to the carrier frequency needs to be an integer. I want to reiterate that the solutions explained by MBaz are the ones I have used for my own modem designs in the past. They are much simpler to implement and require far less memory. Still, I'll probably experiment with the idea from the blog post some day, just because it is interesting. In this case, it allows me to answer yes to your question. It is possible to do it in one step.