Virtually any journey can be done entirely using local bus services - for this journey you might change at Chester, Crewe, Hanley, Stafford, Wolverhampton, Birmingham, Coventry, Rugby, Daventry, Banbury, and Oxford, but there are obviously near enough infinitely many variations on that route.
However, the journey time would be incredibly long, making it very impractical even with a free pass. And I doubt you could do a journey of that length in a single day, given a few of those are hourly services.