Here's how to do it with the adjustwidth
environment:
\documentclass{article}
\usepackage[utf8]{inputenc}
\usepackage[T1]{fontenc}
\usepackage{changepage}
\usepackage{ragged2e, lipsum}
\usepackage{tabularx, caption, booktabs}
\begin{document}
\lipsum[1]
\begin{table}[!htb]
\centering
\captionsetup{singlelinecheck=off, skip =4pt}
\begin{adjustwidth}{-0.12\textwidth}{-0.12\textwidth}
\caption{A wide table}\label{tab:wide}
\begin{tabularx}{\linewidth}{@{}>{\RaggedRight}X@{}}
\toprule
Sed feugiat. Cum sociis natoque penatibus et magnis dis parturient montes, nascetur ridiculus mus.
Ut pellentesque augue sed urna. Vestibulum diam eros, fringilla et, consectetuer eu, nonummy id,
sapien. Nullam at lectus. In sagittis ultrices mauris. Curabitur malesuada erat sit amet massa. Fusce
blandit. Aliquam erat volutpat. Aliquam euismod. Aenean vel lectus. Nunc imperdiet justo nec do-
lor. \\
\bottomrule
\end{tabularx}
\end{adjustwidth}
\end{table}
\lipsum[2]
\end{document}

\newgeometry
always starts a new page I think, but you can useadjustbox
or a\makebox
, see e.g. tex.stackexchange.com/questions/39435/…adjustwidth
environment fromchangepage
. Before using this environment, check whether you can play with the value of\tabcolsep
(very efficient in case of many columns) and the table font size.