Η λέξη είναι αρχαία και σε πολλά κείμενα της αρχαίας ελληνικής συναντάμε το "αγγελιαφόρος". Κάτι που είναι λογικό, αφού η λέξη είναι σύνθετη από το αγγελία και το φέρω (αγγελία + φέρω = αγγελιαφόρος).
Ωστόσο, στη νέα ελληνική το -ο- έχει τη χρήση συνδετικού φωνήεντος, δηλαδή μπαίνει ανάμεσα σε δύο συνθετικά, ώστε να σχηματιστεί εύηχα η νέα σύθετη λέξη. Για παράδειγμα από το παιδί και τον τόπο έχουμε τον παιδότοπο (παιδί + τόπος = παιδότοπος). Επομένως, και αυτή η γραφή δικαιολογείται στα νέα ελληνικά.
Προσωπικά, θεωρώ και τις δύο γραφές ορθές. Η πρώτη (αγγελιαφόρος) είναι αναμφισβήτητα ορθή, αφού απαντά έτσι από την αρχαία ελληνική. Ωστόσο, και η δεύτερη (αγγελιοφόρος) σχηματίζεται με βάση την εξέλιξη της γλώσσας μας και τη χρήση του συνδετικού φωνήεντος -ο-. Εξάλλου, ας μην ξεχνάμε πως το ίδιο ακριβώς κάνουμε (και μάλιστα χωρίς να έχουμε την παραμικρή αμφιβολία) με τη λέξη σημαιοφόρος (σημαία + φέρω = σημαιοφόρος και όχι σημαιαφόρος), αλλά ακόμα και με τη λέξη αγγελιόσημο (αγγελία + σήμα = αγγελιόσημο)
Περισσότερα φιλολογικά θέματα εδώ.