Here's my take on it.
Background Knowledge vs. Detail Knowledge
Knowing the Big-O of bubble sort, or any other sort, is a piece of "detail knowledge". Knowing what Big-O is would be "background knowledge".
Someone who is good at their chosen field will have a good supply of "background knowledge" to draw upon. Background knowledge allows for a fundamental understanding of a problem, and how best to approach it.
Detail knowledge is much less important for the problem solving process, and more important for the implementation of the solution. Obviously, the more detail knowledge you have, the faster you can work, but knowing details without background can cause someone to take an entirely incorrect approach. Knowing background without details is much preferable, as details are usually trivial to learn and implement.
How the Programmer fits the Job
I am ten years out of university. You can bet your bottom dollar that I have forgotten the big O of almost every algorithm I learned in CS 100. When was the last time I implemented a custom sort algorithm in ten years of web programming? Never. And unless you're implementing a bunch of custom sort algorithms specifically, you shouldn't put much weight on whether someone knows the "detail knowledge" behind it, as it's something they or you will probably never need to write.
On the other hand, could I tell you what Big O was? Most definitely. Could I research and come up with sorting alorgithms with a task-suitable Big O very quickly? Most definitely. Could I compare two web application process stacks and decide which one had the better Big O? Yes. Background knowledge beats out detail knowledge hands down here.
As long as a programmer (or anyone in any field) understands the fundamentals on a solid level (background knowledge), they will have the potential to be a good programmer. If they have acquired a lot of detail knowledge as well, through study or experience, then they can probably program faster, and maybe more accurately, as well. You can be a good programmer with no detail knowledge and lots of background knowledge, but the likelihood of being a good programmer with lots of detail knowledge and no background knowledge is much, much lower.
Tailor your Interview
Your interview should weigh all this accordingly to decide which candidate would be the best fit. For your particular case, I would make sure to hire someone who understood what Big-O was, as obviously they have more solid background knowledge to draw on. But dismissing them because they don't know the Big-O of bubble sort is silly, unless the job specifically deals with bubble sort in a serious capacity.
I could come up with a hundred similar detail-oriented questions to confound an interview candidate, and I guarantee that you or anyone wouldn't be able to answer all, or even most of them. When was the last time you wrote a database indexing algorithm from scratch, or even a B-tree, or took something to Backus-Naur normalized form (CS 230 in my day)? How about your own TCP/IP layer protocol (SEng 450 in my day)?
I can tell you what these things are and how to do them, but you tend to forget details after they become unimportant. However, I could find them and do them quickly if I had too. Make sure your interview weighs what background knowledge is important for the position as well as what detail knowledge is important.