What a great question! I had not ever considered that. Frank is the stereotypical "knight in shining armor". He is almost too good to be true. Sweet, caring, strong, financially independent. He expresses undying love for Eveline, which is the one thing she is most lacking. And he isn't given a last name, suggesting that he might not be a real person. It could be that Eveline, so burdened by her responsibilities and the restrictions of her life and father, needs a way to imagine that she can escape and so creates Frank. There is a history of mental instability in the family, after all.
However, I'm personally inclined to believe that Frank is real. As Eveline's story unfolds, we learn that Frank is suggesting that they go away together, unmarried. This is part of what keeps Eveline from acting on her desire. If he really was a figment of her imagination, I believe she would have pictured the proposal as an immediate one, to remove the dilemma of a scandal. Even more convincing is the fact that her father has fought with Frank, and forbidden Eveline to see him based on his analysis of Frank's "bad character". If Joyce meant for readers to suspect Frank of being real, this element would likely have been removed from the story.