<- and = are equivalent here. So you're assigning reactiveValues() to list but then immediately overwriting it with c("VTI", "ARR", "PJP"). (BTW it's probably not a great idea to have a variable named "list" anyway, given how fundamental and commonly used the list() function is in R.)
Second, I wouldn't store the data frame as a reactive value. Instead I would calculate the data frame as a reactive expression.
Third, you can't read from reactiveValues (or access the values of reactive expressions) unless you are executing within a reactive(), or an output's render expression, or in an observe() or observeEvent(). The reason for this is that if you're outside all of those contexts, then you're just executing code once, before any user interaction happens. It generally doesn't make sense to read from reactive values but then not to have a way to re-execute if those reactive values change.
Rewritten:
shinyServer(function(input,output,session){
values <- reactiveValues(symbols = c("VTI", "ARR", "PJP"))
df <- reactive({
results <- new.env(parent = emptyenv())
# Be careful not to let getSymbols assign into .GlobalEnv. That could get
# really confusing if multiple sessions are active in this Shiny app at once.
getSymbols(values$symbols, env = results, auto.assign = TRUE)
# I didn't know how you wanted to make the data frame, but it goes here
data.frame(Symbol = values$symbols, ...)
})
output$table1 <- renderTable({ df() })
})