As you point out, this is different for different kids, but the fact that you are asking regularly improves the chances that the result you are wishing for will be sooner rather than later, because you are helping to set him up with the expectation that you will ask. Developmentally, most kids can do this by the time they are five and it happens sometime during the third or fourth year (usually about the same time when they develop theory of mind).
Theory of mind is the ability to understand that your experience is different from the child's experience (Psychology today describes it quite nicely along with a wonderful cartoon showing a typical test for theory of mind). Right now, your son thinks you already know everything he knows. So, in his mind, even though you weren't there, you already know what happened during his day. For that reason alone the question is confusing. It seems perfectly obvious to him what he did in a given day so why isn't it to you? To better understand this, check out the "false belief test video" here.
The "abstraction" your child is currently developing in regard to understanding time, is referred to as "Symbolic function" and is a part of Piaget's theory regarding cognitive development. Symbolic Function and Theory of Mind are very closely intermingled, but there is a very slight difference in that Theory of Mind is specifically about what the child knows compared to others. The idea of Theory of Mind is more recent than Piaget's work, but, as I understand it (though I am not an expert here) it could be considered a part of symbolic function. The Betty Hardwick Center describes symbolic function quite nicely here. Basically, it is the ability to understand that when a cat leaves the room, it is still a cat in existence, just in another room (Schrodinger's Cat excluded). For children without at least the beginnings of symbolic function remembering what did happen today and sorting it from other memories is very difficult).
Your child is most likely, not yet in the "pre-operational stage" of cognitive development. What this means is that he does not yet understand that if he can't see it, it is still there or that things happen to others when he isn't there. However, obviously there are stages involved in getting there. Piaget (a forerunner in studying and understanding cognitive development) argued that developments toward symbolic function (The "pre-operational stage) happen during the preschool years. This video clarifies this really well and show examples of early play that demonstrate the beginnings of development toward symbolic function - for example, imaginative play. The video does a nice job of showing a lack of understanding to have entered the pre-operational stage by showing a child playing "hide and seek" by simply covering its eyes. During the beginnings of the "pre-operational stage" a child might hide as well - but always in the same place. If you watch the whole thing it will show more "false belief" tests like those in the other video above but for for determining if your child has completed this stage of development and gained "symbolic function" or not. Most kids cannot "pass" all of these tests until sometime between five and seven.
There are a few things that might help improve your chances of a more reliable answer even now though. Asking, "what did you do today?" is a pretty abstract question. You might try asking him the question and then following it with more specific and "leading" kinds of questions that will help focus his answers a little better. Of course, knowing a little about the day first from observations you make at pick up time and from speaking with the teacher a little will also help you here: For example,
"I saw you guys made butterfly paintings for your art project today.
Did you also read about them during story time?"
"Oh! What do you remember about butterflies?"
It also helps to know what his regular favorite activities are (perhaps he usually climbs or plays in the sandbox):
"I know you had some outside play today. Did you play in the sandbox,
climb on the jungle gym or do something else?"
"Oh! Really? cool what was it?"
"I made a road with Dylan."
"Oh with the tractors in the sandbox?"
"Okay, glad you had fun."
btw: in this example, you see the beginnings of the pre-operational stage because he is using the tractors and sand to symbolically make a road. At the same time, he isn't generalizing this as sand-box play with you and understanding that he is just being more specific. This kind of thing is typical in this age group and to this stage of development - try not to worry about correcting and explaining. Instead, accept and know he'll get there eventually. The really important thing is just that you keep asking. Since you are asking, his brain is working to figure out how to answer satisfactorily as you ask every day. Eventually he will get it - especially if you can help to guide him to answers that are satisfactory without frustration and stress being part of the equation.
As a "bonus," something I started doing with my daughter at dinner at around this age was something a friend introduced to me as "highlights, lowlights" She asked her kids about the best parts and worst parts of their day every day at bedtime. I don't think focusing on the worst part is really a productive thing to do at this age (though I would recommend it for Middle School) so I only asked for the highlights (and I asked at dinner instead of bed but that part isn't really important). Choosing a "favorite" is also abstract, but identifying your favorite to your son and then asking him his, is a good exercise in communication and connection between you later on and a good habit to get into now. He is likely to pick your favorite as his favorite at first, but eventually when you ask "What was your favorite part of your day today?" you'll start getting real answers and once in awhile, he might even say, "Right now with you." and that is always a nice thing.