Miles, who played for the Los Angeles Clippers and in Cleveland and Portland, was arrested Wednesday at Lambert-St. Louis International Airport after Transportation Security Administration personnel discovered the weapon during an X-ray screening, the St. Louis Post-Dispatch reported.
The East St. Louis native was arrested by airport police and booked into the St. Louis County jail.
Miles was booked on suspicion of unlawful use of a weapon then released pending application of a warrant on a formal criminal charge, the Post-Dispatch reported.
The St. Louis County prosecutor's office said it would review the incident and decide whether charges will be filed against Miles, who last played in the NBA in 2009 with the Memphis Grizzlies.