Soto, 31, was charged with misdemeanor possession of marijuana under two ounces, according to Sgt. Robert Eberling of the Grapevine Police Department. He was released on $500 bail.
"I was stopped by Grapevine Police on Wednesday night," Soto said in a statement released through the team. "I am embarrassed and would like to apologize to my family, the Rangers organization, and our fans that I was taken in on this charge.
"Because this is an ongoing case, I cannot discuss this matter any further at this time."
Soto has not played this season after injuring his left knee in March.
"The Rangers organization is aware of Wednesday night's incident involving Geovany Soto," the team said in a statement. "We have spoken to Geovany, and he has apologized and expressed deep embarrassment for the situation. We have notified Major League Baseball of the incident. As this is an ongoing case, this is the only comment we will have at this time."
Soto hit .245 with nine home runs and 22 RBI last season, his first full year with Texas after being acquired from the Chicago Cubs at the non-waiver trading deadline in 2012.
Information from The Associated Press was used in this report.