Van Persie played the whole of Holland's 2-0 friendly defeat to France in Paris on Wednesday.
Moyes was present at the match and he was taken aback by Louis van Gaal's decision to keep the striker on the pitch at the Stade de France.
"Robin was in his bed all day Tuesday being sick but he felt better on Wednesday and he played," the United manager said.
"I was a little bit surprised he played 90 minutes in a game they were losing 2-0 but he did do."
Moyes said Van Persie is now "fine" and in contention for a place in United's team to face West Brom at the Hawthorns on Saturday.
It has been an interesting couple of weeks for Van Persie.
Three days after scoring in the 2-0 win over Crystal Place, the 30-year-old gave an interview to Dutch broadcaster NOS following United's Champions League defeat to Olympiacos.
Van Persie's claim that some of his team-mates were "Often playing in my zones" was interpreted as a slant at some of the other United squad members who were on the pitch on that morale-draining night in Athens.
Speculation followed that Van Persie was unhappy at the club, but the fact that he was happy and willing to travel back with Moyes from France suggests the striker's relationship with his manager is at least a cordial one.
Moyes was annoyed at how Van Persie's quotes were interpreted, as well as speculation regarding the player's future in general.
"I actually travelled back after the (France v Holland) game, with Robin and Pat(rice) Evra," Moyes added.
"If you actually read the whole transcript I think it was taken out of context... we understand fully.
"Robin is a really good player and we will do everything possible to make those opportunities work for Robin."
Moyes added: "A lot of what has been said (about Van Persie) isn't correct."
Moyes' predecessor Sir Alex Ferguson bought Van Persie from Arsenal in the summer of 2012 and his goals fired the Red Devils to the title last term.
This season the Dutchman has scored 14 goals but United's overall form has been so poor that they are seventh in the Barclays Premier League with just 11 matches of the campaign remaining.