Čavić syntyi Yhdysvalloissa ja osallistui vuoden 2000 kesäolympialaisiin Sydneyssä Jugoslavian edustajana. Hän voitti kultaa Dublinin lyhyen radan Euroopan-mestaruuskilpailuissa 2003 100 metrin perhosuintimatkalla uudella maailmanennätysajalla 50,02 ja hopeaa 50 metrin vapaauinnissa. Vuonna 2006 hän voitti Helsingni lyhyen radan Euroopan-mestaruuskilpailuissa kultaa 100 metrin perhosuinnissa ja hopeaa 50 metrin vapaauinnissa. Debrecenissä 2007 hän voitti lyhyen radan Euroopan-mestaruuden 50 ja 100 metrin perhosuinneissa. Hän voitti pitkän radan Euroopan-mestaruuden 50 metrin perhosuinnissa Eindhovenissa 2008 ajalla 23,11.