Define the customer.
Is it another company? Another individual?
Is it another team within your company?
Is it a product champion within your company?
Is it you?
All of the above are possible, and quite reasonable depending on the circumstances. You don't want to take a single view down the tunnel about what it is to be Agile, so to say a definitive NO would be incorrect. YES on the other hand requires a little lateral thinking.
Think about the word Agile for a moment. The very clever group of people who coined the term couldn't have picked a better metaphor for the concept they were trying to describe. When you say Agility, what comes to your mind? Being fleet of foot? Fast to react perhaps? Fast to adapt?
Now think about all of the commonly accepted Agile practices out there, and ask yourself what they really bring to software development methods that are considered to be Agile.
I am the customer to all intents and purposes for my solo projects. I even wear a real hat sometimes, when I really want to make a distinctive mental change in my customer role. This makes me no less Agile than I am when I am at work. For all I care, my cat can be the manager. He makes sure I take a rest break every once in a while, and reminds me to avoid getting too obsessed with any single task. You may prefer to use your fancy "Pomadoro Technique", but I prefer the "Rascal" Timer!! The thing is, I work in a strictly Agile process whenever I write code for myself. I'm not the hacker-come-cowboy type, who lives a life of endless development spikes and accomplishing nothing. I like to craft my software, schedule the development around my work and personal lives, and complete it in a manner that I would expect to do if I were working for a real customer. When things interrupt my schedule, I adjust and prioritize my project work accordingly. I use all of the standard Agile practices and techniques that I can apply solo, and I "deliver" working code to myself (or a friend or colleague to test) as often as I can. If all of this isn't Agile, I ask you what is?
So my answer is Yes, you can be an Agile Software Developer, and you can apply an Agile methodology, and you don't necessarily need the customer, or even the manager. You can work on a project all by yourself, and wear multiple hats. It may not necessarily be Ideal to do away with those other roles however, as it is very helpful to cooperate with others to achieve a goal. They act as a sounding board for your ideas, and they feed you requirements that you might otherwise find difficult to generate sensibly on your own. The other very important role that the customer and manager satisfy is that of keeping you focused on your goals, without endlessly adding features and refining your code beyond what may be strictly necessary.
Still, if you work in a disciplined manner, sticking strictly to your methodology of choice, and apply Agile practices, and if when you get side-tracked, or you change your mind (when wearing your customer hat) and your product design or direction takes a turn, if you can adapt your schedule, and adjust your priorities just as you would imagine your customer would expect you to, then you are being Agile.